<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>渐进式淡入动画</title>
    <link rel="stylesheet" href="./css/reset.css" />
    <style>
      .container {
        text-align: center;
        overflow: hidden;
      }

      .container ul {
        /* 解决塌陷 */
        border: 1px solid #000;
        display: inline-block;
        padding: 20px 10px;
        background-color: #000;
      }

      .container ul li {
        width: 200px;
        height: 250px;
        margin: 0 10px;
        float: left;
      }

      .container ul li img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
      }

      /* 定义一个类，这个类用来实现淡放动画 */
      .animation-fadeIn {
        /* 延迟时间 */
        /* both 上来就将动画的第一帧应用到元素身上，同时动画结束后，停留在最后一帧的样式 */
        animation: fadeIn 1s var(--delay) both;
      }

      /* 淡入动画 */
      @keyframes fadeIn {
        /* 动画第一帧 */
        0% {
          /* 移出Ul容器 */
          transform: translateY(calc(100% + 20px));
          /* 让图片消失 */
          opacity: 0;
        }
        100% {
          transform: translateY(0);
          opacity: 1;
        }
      }
    </style>
  </head>
  <body>
    <div class="container">
      <ul>
        <li style="--delay: 0s" class="animation-fadeIn">
          <img src="./images/0301.jpg" alt="cake" />
        </li>
        <li style="--delay: 0.2s" class="animation-fadeIn">
          <img src="./images/0302.jpg" alt="cake" />
        </li>
        <li style="--delay: 0.4s" class="animation-fadeIn">
          <img src="./images/0303.jpg" alt="cake" />
        </li>
        <li style="--delay: 0.6s" class="animation-fadeIn">
          <img src="./images/0304.jpg" alt="cake" />
        </li>
      </ul>
    </div>
  </body>
</html>
